<?php
include 'user_detail_lib.php';

if ($s_Action == 'update-profile') {

    // <editor-fold defaultstate="collapsed" desc="Update Profile">
    if ($f_userid != $s_UserID) { get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings); }
    
    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid = '$f_userid' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_user = db_fetch($db_result))) { raise_error('Select none.'); }
    
    // <editor-fold defaultstate="collapsed" desc="Update User-Info">
    $v_tmp_firstname = explode(" ", $f_username);
    $v_tmp_firstname = is_array($v_tmp_firstname) ? $v_tmp_firstname[count($v_tmp_firstname) -1] : $f_username ;
    
    $a_row = array (
        'saint'             => $f_saint,
        'username'          => $f_username,
        'firstname'         => $v_tmp_firstname,
        'usertype'          => $f_usertype,
        'usercrew'          => $f_usercrew,
        'gender'            => $f_gender,
        'birthday'          => $f_birthday,
        'baptism_date'      => $f_baptism_date,
        'eucharist_date'    => $f_eucharist_date,
        'confirmation_date' => $f_confirmation_date,
        'email'             => $f_email,
        'mobile'            => $f_mobile,
        'phone'             => $f_phone,
        'address'           => $f_address,
        'note'              => $f_note,
        'updaterid'         => $s_UserID,
        'updatedate'        => $f_insertdate,
    );
    
    db_update_row($db_conn, $a_row, 'user', "userid = '$f_userid'");
    // </editor-fold>
    
    // <editor-fold defaultstate="collapsed" desc="Update-User Class">
    if ($f_team == '' && $f_level == '' && $f_crew == '') {
        db_delete_row($db_conn, 'user_class', "classid = '$f_classid' and userid = '$f_userid'");
    }
    else {
        $a_row = array (
            'team'       => $f_team,
            'level'      => $f_level,
            'crew'       => $f_crew,
            'updaterid'  => $s_UserID,
            'updatedate' => $f_insertdate,
        );
        
        if ($f_classid) {
            db_update_row($db_conn, $a_row, 'user_class', "classid = '$f_classid' and userid = '$f_userid'");
        }
        else {
            $a_row['userid'    ] = $f_userid;
            $a_row['course'    ] = $a_KhoaHoc_Info['start_year'];
            $a_row['creatorid' ] = $s_UserID;
            $a_row['insertdate'] = $f_insertdate;
            
            db_insert_row($db_conn, $a_row, 'user_class');
        }
    }
    // </editor-fold>

    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$f_userid#update-info");
    // </editor-fold>
}
else if ($s_Action == 'update-password') {

    // <editor-fold defaultstate="collapsed" desc="Update Password">
    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid = '$s_UserID' and passwd = '" . md5($f_passwd) . "' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if ($f_userid != $s_UserID) {

        get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings);

        if (!($d_user = db_fetch($db_result))) {
            raise_alert("Kiểm tra lại thông tin Mật Khẩu Hiện Tại của Bạn\n\nLưu ý: \n   Để cập nhật mật khẩu của thành viên khác, bạn phải cung cấp thông tin Mật Khẩu Hiện Tại của bạn!");
            local_redirect("user_detail.php?userid=$f_userid#update-info");
            exit;
        }
    }
    else {
        if (!($d_user = db_fetch($db_result))) {
            raise_alert("Kiểm tra lại thông tin Mật Khẩu Hiện Tại của Bạn");
            local_redirect("user_detail.php?userid=$f_userid#update-info");
            exit;
        }
    }

    $a_row = array (
        'passwd'     => md5($f_newpasswd),
        'updaterid'  => $s_UserID,
        'updatedate' => $f_insertdate,
    );

    db_update_row($db_conn, $a_row, 'user', "userid = '$f_userid'");

    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$f_userid#update-info");
    // </editor-fold>
}
else if ($s_Action == 'delete-profile') {
    
    // <editor-fold defaultstate="collapsed" desc="Delete">
    get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings);
    
    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid = '$f_userid' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_user = db_fetch($db_result))) { raise_error('Select none.'); }
    
    $a_row = array(
        'userstatus' => 'DELETED',
        'updaterid'  => $s_UserID,
        'updatedate' => $f_insertdate,
    );
    
    db_update_row($db_conn, $a_row, 'user', "userid = $f_userid");
    
    local_redirect('user_list.php?' . $s_QueryString_Page);
    // </editor-fold>
}
else if ($s_Action == 'insert-dears') {

    // <editor-fold defaultstate="collapsed" desc="Insert-Dears">
    if ($f_userid != $s_UserID) { get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings); }

    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid = '$f_userid' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_user = db_fetch($db_result))) { raise_error('Select none.'); }
    
    $a_row = array (
        'userid'       => $f_userid,
        'saint'        => $f_saint,
        'dearname'     => $f_dearname,
        'relationship' => $f_relationship,
        'address'      => $f_address,
        'mobile'       => $f_mobile,
        'phone'        => $f_phone,
        'creatorid'    => $s_UserID,
        'updaterid'    => $s_UserID,
        'insertdate'   => $f_insertdate,
        'updatedate'   => $f_insertdate,
    );

    db_insert_row($db_conn, $a_row, 'user_dear');
    
    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$f_userid#dear-info");
    // </editor-fold>
}
else if ($s_Action == 'update-dears') {

    // <editor-fold defaultstate="collapsed" desc="Update-Dears">
    if ($f_userid != $s_UserID) { get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings); }
    
    $db_query  = db_get_query($a_tablecolumns_namhoa_user_dear) . " where dearid = '$f_dearid' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_dear = db_fetch($db_result))) { raise_error('Select none.'); }
    
    $a_row = array (
        'saint'        => $f_saint,
        'dearname'     => $f_dearname,
        'relationship' => $f_relationship,
        'address'      => $f_address,
        'mobile'       => $f_mobile,
        'phone'        => $f_phone,
        'updaterid'    => $s_UserID,
        'updatedate'   => $f_insertdate,
    );
    
    db_update_row($db_conn, $a_row, 'user_dear', "dearid = '$f_dearid'");
    
    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$d_dear->userid#dear-info");
    // </editor-fold>
}
else if ($s_Action == 'delete-dears') {

    // <editor-fold defaultstate="collapsed" desc="Delete-Dears">
    if ($f_userid != $s_UserID) { get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings); }
    
    $db_query  = db_get_query($a_tablecolumns_namhoa_user_dear) . " where dearid = '$f_dearid' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_dear = db_fetch($db_result))) { raise_error('Select none.'); }
    
    db_delete_row($db_conn, 'user_dear', "dearid = '$f_dearid'");
    
    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$d_dear->userid#dear-info");
    // </editor-fold>
}
else if ($s_Action == 'insert-brother') {

    // <editor-fold defaultstate="collapsed" desc="Insert-Brother">
    if ($f_userid != $s_UserID) { get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings); }
    $aTmpUser = $aTmpGencode = array();

    $f_brother_userid = isset($_REQUEST['brother_userid']) ? $_REQUEST['brother_userid'] : '';

    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid in ('$f_userid', '$f_brother_userid')";
    $db_result = db_query($db_conn, $db_query);

    while ($d_user = db_fetch($db_result)) {
        if ($d_user->gencode) {
            $aTmpGencode[$d_user->gencode] = $d_user->gencode;
        }

        $aTmpUser[$d_user->userid] = $d_user->userid;
    }
    
    if (count($aTmpUser) < 2) { raise_error("Kiểm tra lại thông tin!"); }

    if (!empty($aTmpGencode)) {

        $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where gencode <> '' and gencode in ('" . implode("', '", $aTmpGencode) . "')";
        $db_result = db_query($db_conn, $db_query);

        while ($d_user = db_fetch($db_result)) {
            $aTmpUser[$d_user->userid] = $d_user->userid;
        }
    }

    $a_row = array (
        'gencode'    => implode('', $aTmpUser),
        'updaterid'  => $s_UserID,
        'updatedate' => $f_insertdate,
    );

    db_update_row($db_conn, $a_row, 'user', "userid in ('" . implode("', '", $aTmpUser) . "')");

    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$f_userid#dear-info");
    // </editor-fold>
}
else if ($s_Action == 'delete-brother') {

    // <editor-fold defaultstate="collapsed" desc="Delete-Brother">
    if ($f_userid != $s_UserID) { get_passport_module_action($db_conn, $s_PPO_ModuleID, $s_PPO_ActionID, $a_filterings); }

    $f_brother_userid = isset($_REQUEST['brother_userid']) ? $_REQUEST['brother_userid'] : '';

    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid = '$f_brother_userid' and gencode <> '' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_user = db_fetch($db_result))) { raise_error('Select none.'); }

    $a_row = array (
        'gencode'    => '',
        'updaterid'  => $s_UserID,
        'updatedate' => $f_insertdate,
    );

    db_update_row($db_conn, $a_row, 'user', "userid = '$f_brother_userid'");

    $aTmpUser = array();
    
    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where gencode = '$d_user->gencode' and userid <> '$f_brother_userid'";
    $db_result = db_query($db_conn, $db_query);

    while ($d_user = db_fetch($db_result)) {
        $aTmpUser[$d_user->userid] = $d_user->userid;
    }
    
    if (!empty($aTmpUser)) {
        $a_row = array (
            'gencode'    => implode('', $aTmpUser),
            'updaterid'  => $s_UserID,
            'updatedate' => $f_insertdate,
        );
        db_update_row($db_conn, $a_row, 'user', "userid in ('" . implode("', '", $aTmpUser) . "')");
    }
    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$f_userid#dear-info");
    // </editor-fold>
}
else if ($s_Action == 'update-profile-image') {
    
    // <editor-fold defaultstate="collapsed" desc="Update-Profile-Image">
    $db_query  = db_get_query($a_tablecolumns_namhoa_user) . " where userid = '$f_userid' limit 1";
    $db_result = db_query($db_conn, $db_query);

    if (!($d_user = db_fetch($db_result))) { raise_error('Select none.'); }

    if (!is_dir($s_User_Path) && !mkdir($s_User_Path)) { raise_error("Could NOT make directory"); exit; }
    
    if ($f_file != '' && $f_file['name'] != '') {
        include 'lib_file.php';
        $v_sourcefile = $f_file['tmp_name'];

        //720 size
        $v_targetfile = $s_User_Path . $f_userid . '.png';
        create_image_file($v_sourcefile, $v_targetfile, 720, 720, 'png', 3);

        //60 size
        $v_targetfile = $s_User_Path . $f_userid . '-60.png';
        create_image_file($v_sourcefile, $v_targetfile, 60, 60, 'png', 3);
    }
    else {
        raise_error("Chưa chọn ảnh!");
    }
    
    raise_alert("Đã Cập Nhật!");

    local_redirect("user_detail.php?userid=$f_userid#update-info");
    // </editor-fold>
}
else {
    raise_error('Bạn chưa được cấp quyền thực hiện chức năng này');
}
?>